﻿#ifndef __SS_SAVE_FILE_H__
#define __SS_SAVE_FILE_H__
#include <string>
#include <cstdio>
#include <cstdarg>
#include "../time/ssTime.h"
#include <fstream>


namespace StarSeeker
{

class ssWriteFile
{
public:
	ssWriteFile();
	~ssWriteFile();

	//************************************
	// Parameter: const char * path，文件路径
	// Parameter: bool add，是否追加写入
	// Parameter: bool binary，是否用二进制模式
	// Parameter: bool brief，是否短连接
	//************************************
	bool Init(const char* path, bool add, bool binary, bool brief);
	bool WriteString(const char* str, bool enter=false);
	bool WriteStringWithTime(const char* str, bool enter=false);
	bool WriteBytes(const char* str, u32 len);
	bool OpenFile();
	void CloseFile();
	//自定义文件流
	void WriteTime();
	std::ofstream & Stream() {return m_fstream;}

private:
	bool			m_brief;	//写完立即关闭文件句柄
	bool			m_binary;	//二进制文件
	bool			m_add;		//追加写入
	std::string		m_path;		//文件路径
	std::ofstream	m_fstream;	//文件流
	std::string		m_tmpStr;
};

}
#endif
